


import bpy
import numpy as np
from itertools import chain


import 全局控制.Node.节点和插座基类.bl_节点基类 as 基类
from 全局控制.Node.节点数据类型 import bl_集合数据类型




class C_Node_物体粒子集合(基类.C_SN_基类):
	bl_dname = 'bl_node_物体粒子集合'
	bl_label = '物体粒子集合'
	
	
	def init(self, context):
		super(C_Node_物体粒子集合, self).f_init(context)

		self.inputs.new('C_NodeSocket_物体', name='物体')
		self.outputs.new('C_NodeSocket_粒子', name='粒子集合')


	def update(self):
		pass


	def f_update(self, 是否向下传递=False, input插座=None):
		粒子系统 = []

		objs = self.inputs['物体'].f_getData()
		for obj in objs:
			psys = obj.particle_systems
			for p in psys:
				粒子系统.append(p.settings)
			
		self.outputs['粒子集合'].f_setData(粒子系统)

		super(C_Node_物体粒子集合, self).f_update(是否向下传递, input插座)





